package com.basic.modules.ykf.entity;

import com.baomidou.mybatisplus.annotation.*;

import java.math.BigDecimal;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

import com.basic.common.annotation.DictParam;
import com.basic.modules.ykf.model.SubAccountItem;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 用户加班记录
 *
 * @author maoheng
 * @email 15738859597@163.com
 * @date 2024-05-29 18:34:27
 */
@Data
@TableName("ykf_work_overtime_record")
public class YkfWorkOvertimeRecordEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * keyword
	 */
	@TableField(exist = false )
	private String keyword;

	/**
	 *
	 */
	@TableId
	private Long workOvertimeId;
	/**
	 * 加班编号
	 */
	private String workOvertimeNo;
	/**
	 * 加班人员用户ID
	 */
	private Long userId;
	/**
	 * 加班人员用户名称
	 */
	private String name;

	/**
	 * 花名
	 */
	private String flowerName;

	/**
	 * 工号
	 */
	private String no;

	/**
	 * 开始日期
	 */
	@JsonFormat(pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date startDate;
	/**
	 * 结束日期
	 */
	@JsonFormat(pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date endDate;

	/**
	 * 开始日期
	 */
	@TableField(exist = false)
	@JsonFormat(pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date dateS;

	/**
	 * 结束日期
	 */
	@TableField(exist = false)
	@JsonFormat(pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date dateE;

	/**
	 * 客户ID
	 */
	private Long customerId;
	/**
	 * 客户名称
	 */
	private String customerName;
	/**
	 * 店铺ID
	 */
	private Long shopId;
	/**
	 * 店铺名称
	 */
	private String shopName;

	/**
	 * 子账号信息[{"subAccountId": "子账号ID", "subAccountName": "子账号名称"}]
	 */
	private String subAccountInfo;

	/**
	 * 子账号名称
	 */
	private String subAccountName;

	/**
	 * 子账号信息
	 */
	@TableField(exist = false)
	private List<SubAccountItem> subAccountItemList;

	/**
	 * 加班费(元)
	 */
	private BigDecimal overtimeSalary;
	/**
	 * 备注
	 */
	private String remark;
	/**
	 * 创建者ID
	 */
	@TableField(fill = FieldFill.INSERT)
	private Long createUserId;
	/**
	 * 创建人名称
	 */
	@DictParam(field = "createUserId", targetField = "createUserName", dictType = "flowerName")
	@TableField(fill = FieldFill.INSERT)
	private String createUserName;
	/**
	 * 创建时间
	 */
	@TableField(fill = FieldFill.INSERT)
	private Date createTime;

}
